1. Field of the Invention
The present invention relates to a robot controller for a robot which controls the force acting between a given object located on the end effector of the robot and a different object to move the given object relative to the different object to set the given object and the different object in a combined state in which a predetermined portion of the given object and a predetermined portion of the different object are in contact and combined with each other.
2. Description of the Related Art
In fitting, two objects are moved relative to each other to fit the shape of a certain portion in one object with that of a certain portion in the other object. The fitting refers herein to fitting a pair of objects having complementary shapes together, i.e., moving two objects to obtain a relationship in which shafts are firmly fitted together or loosely, slidably fitted together in recesses.
It is a common practice to move a given object relative to a different object to set the given object and the different object in a state in which a predetermined portion of the given object and a predetermined portion of the different object are in contact and combined with each other, instead of fitting the given object and the different object together, as in the above-mentioned fitting operation.
Examples of the given object and the different object may include herein various combinations of a workpiece, a tool, a processing or machining device, an inspection device, a measuring device, a worktable, and a jig. For example, a gripped workpiece may be mounted on a worktable for a machine tool, or the like. The surface of a gripped workpiece may be pressed against a processing device set in place to combine their surfaces with each other, or a linear portion forming a gripped workpiece may be pressed against and combined with a processing device set in place. The surface of a held tool may be combined with that of a workpiece fixed in position, the surface of a held tool may be combined with a linear portion forming a workpiece fixed in position, or a linear portion forming a holding tool may be combined with the surface of a workpiece. One component may be attached to another component to combine their surfaces or linear portions with each other. A workpiece may be brought into contact with an inspection device or a measuring device to combine their surfaces with each other.
To achieve, e.g., a cost reduction, quality stabilization, and automation of dangerous operations for the above-described operations in various situations, it is desired to use a robot for more stable, more quick operations.
As a method for moving a given object held on the end effector of a robot relative to a different object to set the given object and the different object in a state in which a predetermined portion of the given object and a predetermined portion of the different object are in contact and combined with each other to automate the above-described operations using a robot, a method is known for controlling the force acting between these two objects to reach a target force by compliance control.
With compliance control, a given object and a different object can be set in a state in which a predetermined portion of the given object and a predetermined portion of the different object are in contact and combined with each other by bringing the given object and the different object into contact with each other in a predetermined direction of translation and equilibrating the forces about one or two predetermined axes of rotation to zero. Then, with compliance control, a control point is set at the center point of rotation about which the given object rotates, the position of the control point for the given object is translated to press the given object in a predetermined direction with a predetermined force, and the given object is rotated about a predetermined axis of rotation including the control point, in accordance with the force about the predetermined axis of rotation, the target force, and the force control gain.
JP H04-043744 B discloses a method for controlling the position of a tool based on a motion model for a compliance mechanism to adjust the force acting between a given object and a different object or the force about the axis to a target value. With this method, the orientation is moved in accordance with the force about the axis, using the center of rotation as a control point.
JP H09-091026 A describes a method for calculating an orientation error at the approach point by bringing surfaces into contact with each other by pressing with a predetermined force in a plane perpendicular to a hole portion to combine the surfaces with each other, in advance, to correct the orientation error.
When any related art technique is used to set a given object and a different object in a combined state in which a predetermined portion of the given object and a predetermined portion of the different object are in contact and combined with each other, the relative position between the given object and the different object is controlled to obtain a state in which these objects are in contact with each other in at least one predetermined direction of translation and a state in which the forces about at least one predetermined axis of rotation are equilibrated to zero.
The force about the predetermined axis of rotation varies for each position at which the given object and the different object come into contact with each other. The magnitude of the force about the axis of rotation also varies depending on conditions such as the pressing force and the types of objects used as the given object and the different object. The force about the axis of rotation is likely to fluctuate because its value is obtained based on the distance between the force in the direction to press and the position about the axis of rotation. The force about the axis of rotation may be prone to noise or vibration or take a small value. Rotation may separate the given object and the different object from each other, thus generating no force about the axis of rotation. The force about the predetermined axis of rotation is controlled down to zero. Therefore, as the above-mentioned state is approached more closely, the force about the predetermined axis of rotation may reduce so that the sign of the force about the axis of rotation may frequently vary.
It is, therefore, difficult to achieve smooth convergence to the above-mentioned state by rapid rotation based on the force about the predetermined axis of rotation. When the target force in the direction to press is small, it is more difficult to achieve smooth convergence to the above-mentioned state by rapid rotation based on the force about the predetermined axis of rotation, because of the small force about the predetermined axis of rotation.
Further, in fitting, when the orientation is moved based on the force received from a given portion, a force acts upon contact with a different portion. Inserting a given object into a different object to follow this force converges the orientation of the given object relative to the different object. In other words, as insertion progresses, the amount by which the given object is moved past the target orientation reduces. In contrast to this, when a given object and a different object are set in a state in which a predetermined portion of the given object and a predetermined portion of the different object are in contact and combined with each other, inserting the given object into the different object does not facilitate convergence to the orientation. As rotation about a predetermined axis of rotation is speeded up, the target orientation is passed over. It is, therefore, hard to achieve smooth convergence to the above-mentioned state in a short period of time by rotation based on the force about the predetermined axis of rotation.
In the general method or the method disclosed in JP H04-043744 B, movement is performed by an amount corresponding to the magnitude of the force acting between the given object and the different object and the force control gain. Increasing the control gain of the force about the predetermined axis of rotation makes the robot operation unstable and prone to oscillation. Since the magnitude of the control gain of the force about the predetermined axis of rotation is limited, the velocity of rotation about the predetermined axis of rotation may not be increased considerably.
When the velocity of rotation about the predetermined axis of rotation is high, the velocity at which the given object and the different object separate from each other in the direction of translation upon rotation about the predetermined axis of rotation is higher than that, at which the given object and the different object come close to each other in the direction to press, based on the magnitude of the force acting between the given object and the different object and the force control gain. Accordingly, the given object and the different object separate or may separate from each other in the direction to press upon rotation of the given object, so that the force about the predetermined axis of rotation reduces. This, in turn, slows down rotation about the predetermined axis of rotation or sets the given object and the different object in a non-contact state, so that the force about the predetermined axis of rotation reduces to zero and rotation stops.
In this case, rotation is restarted in the following way. First, when the given object and the different object may separate from each other, and the given object rotates at a lower velocity, movement in the direction to press calculated based on the force in the direction to press, the target pressing force, and the force control gain brings the given object and the different object into contact with each other again or increases the force in the direction to press. As the force in the direction to press acting between the given object and the different object increases, the force about the predetermined axis of rotation also increases, so that the given object rotates again or the given object rotates at a higher velocity.
Since increasing the control gain of the force in the direction to press makes the robot operation unstable and prone to oscillation, the force control gain can be increased only to a certain threshold. For this reason, increasing the force control gain to speed up movement in the direction to press has only a limited effect in shortening the time during which the above-mentioned non-contact state is maintained or preventing a reduction in force in the direction to press.
As described earlier, when the given object is rotated relative to the different object about a predetermined axis of rotation, it is difficult to speed up rotation or keep the velocity of rotation high by increasing the force control gain. It is, in turn, difficult to stably, quickly set the given object and the different object in a state in which these objects are in contact with each other in at least one predetermined direction of translation and in which the forces about at least one predetermined axis of rotation are equilibrated to zero. This means that the target pressing force in the direction to press may be naturally set as large as possible for stable, rapid rotation. When the velocity of rotation is high, rotation makes the given object and the different object may separate from each other, as mentioned earlier. As a result, it may take much time to obtain a combined state, or the orientation may move over a target state, leading to a waste of time in convergence to the target state.
As for the method for combining surfaces with each other in JP H09-091026 A, it is possibly similar to a method for adjusting the moments of force other than that in the direction of insertion in a tool coordinate system to zero at the time of fitting, and no particular details are specified. It is again difficult to use the force acting between the given object and the different object, the target pressing force, and the force control gain to stably, quickly set the given object and the different object in a state in which these objects are in contact with each other in at least one predetermined direction of translation and in which the forces about at least one predetermined axis of rotation are equilibrated to zero, as in the foregoing description of JP H04-043744 B.